[참조]
다른 프로그래밍 언어와 같이 파이썬에도 if, for, while 등의 제어문이 있으며, break, continue 의 키워드도 동일하다.
조건설정 다음에 콜론(:)을 찍어준다.
명령구문들은 들여쓰기를 한다.
Ex 1)
if a > 0:
print(a) # a가 0보다 큰 경우 a를 출력
else:
print(b) # a가 0보다 크지 않은 경우 b를 출력
Ex 2)
if x < 0:
print('negative')
# x가 0보다 작은 경우
# negative를 출력
elif x < 10:
print('0<=x<10')
# x가 0보다 크거나 같고 10보다 작은 경우
# 0 ≤ x < 10를 출력
else:
print('x>=10')
# x가 10보다 크거나 같은 경우
# x ≥ 10를 출력
간단한 조건문을 한 줄로 표현할 수 있음
status = "성인" if age >= 18 else "미성년자"
# result = value_if_true if condition else value_if_false
3. 제어문: IF문 3.1 참조 설명 3.2 예제 문제
Ex 1) range() 사용
for i in range(10):
print(i)
# range(10)은
# 0 ≤ i < 10인
# 0,1,2,3,4,5,6,7,8,9 숫자를 생성
결과)
0 1 2 3 4 5 6 7 8 9
Ex 2) list 데이터 타입의 사용
xdata = [0.1,4,3]
for x in xdata:
print(x)
결과)
0.1 4 3
Ex 3) 인덱스와 리스트 멤버 동시 접근 : enumerate(list) 사용
items = [9,5,4,10]
for idx, val in enumerate(items):
print(idx, val)
# enumerate(items)는
# (인덱스,객체)인
# [(0,9), (1,5), (2,4), (3,10)]를 생성
결과)
0 9 1 5 2 4 3 10
Ex 4) while (무한)반복문
while True:
key = input()
if key == 'x':
break
# x가 입력되면
# while 반복문을 깨고 나온다.
print(key)
6. 반복문 7. while 7.1 while 7.2 brake 8. for 8.1 for 8.2 range
Ex 1) break
for val in "string":
if val == "i":
break
# s, t, r 까지 출력한 후,
# i가 되면
# for 반복문을 깨고 나온다.
print(val)
결과)
s t r
Ex 2) continue
for val in "string":
if val == "i":
continue
# s, t, r 까지 출력한 후,
# i가 되면 반복문을 건너 뛰고,
# n, g를 출력
print(val)
결과)
s t r n g
여기서 Comprehension이란 '이해'라기 보다는 '내포(內包, 내부 포함)'란 뜻을 갖는다.
파이썬의 강력하고 간결한 문법 기능
기존 리스트를 기반으로 특정 조건에 맞는 새로운 리스트를 생성할 수 있다.
장점: 1. 코드가 간결, 2. for문보다 빠름, 3. 함수형 프로그래밍 스타일 적용 가능
1. 간단한 리스트 생성:
squares = [x**2 for x in range(10)]
# 결과: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 요소강성행렬 생성
K_ele = [beam_stiff(E, I, ele_leng) for _ in range(num_ele)]
# _ 은 변수가 없을 때 사용
2. 조건부 리스트 생성:
even_squares = [x**2 for x in range(10) if x % 2 == 0]
# 결과: [0, 4, 16, 36, 64]
3. 2차원 리스트
matrix = [[i*j for j in range(1, 4)] for i in range(1, 4)]
# 결과:
# 결과:
# [[1*1, 2*1, 3*1],
# [1*2, 2*2, 3*2],
# [1*3, 2*3, 3*3]]
[[1, 2, 3],
[2, 4, 6],
[3, 6, 9]]